//	--------------------------------------------------------------------
//	Copyright(C) 2006,2007 Zhao Yukun. All rights reserved.
//	This file is a part of the Xeres system.
//	Xeres 2007
//	Contact : xeres.engine@gmail.com
//	$(reservedInfo)
//	$(reservedDeclaration)
//	--------------------------------------------------------------------
///	@file	<CScreenCanvas.h>
///	@path	~/src/graphics/canvas/
///	@date	2009/01/10
///	@desc	.

#pragma once

#include "xeres.h"

#include "graphics/DxMath.h"
#include "graphics/ICanvas.h"
#include "graphics/IVertexBuffer.h"
#include "graphics/IShaderAdapter.h"

namespace xeres {

	/*! 
		\brief	CScreenCanvas
		\brief	Draws screen element manually.
	*/
	class CScreenCanvas : public ICanvas
	{
	public:

		/// \ctor
		CScreenCanvas( void );

		/// \dtor
		virtual ~CScreenCanvas( void );

		DECL_IOBJECT_CLASS( CScreenCanvas , ICanvas );

	public:


	private:

		// @data

		size_t					m_count;
		RefWeak<IVertexBuffer>	m_vertex;
		RefWeak<IShaderAdapter>	m_canvasShader;
	};
	
} // namespace xeres
